namespace OracleInternal.Json.Binary
{
	internal sealed class OsonConstants
	{
		internal const uint MAGIC = 4283062784u;

		internal sbyte[] MAGIC_BYTES = new sbyte[3]
		{
			-1,
			74,
			90
		};

		internal const int VERSION = 1;

		internal const uint MAGIC_VERSION = 4283062785u;

		internal const int JZNOCT2_STREAM_ENCODED = 1;

		internal const int JZNOCT2_INLINE_LEAF = 2;

		internal const int JZNOCT2_SLEN_IN_PCODE = 4;

		internal const int JZNOCT2_TOT_DISFNM_UB4 = 8;

		internal const int JZNOCT2_J_SCALAR = 16;

		internal const int JZNOCT_HID_USEUB1 = 256;

		internal const int JZNOCT_HID_USEUB2 = 512;

		internal const int JZNOCT_TOT_DISFNM_UB2 = 1024;

		internal const int JZNOCT_FLDNM_SZ_UB4 = 2048;

		internal const int JZNOCT_TREE_SZ_UB4 = 4096;

		internal const int JZNOCT_TINY_NODE_STAT = 8192;

		internal const int JZNOCT_FID_NO_SORT = 32768;

		internal const int JZNOCTUPDHDR_OVFLW_SEG_UB2 = 256;

		internal const int JZNOCT_UPD_OVFLW = 117;

		internal const int JZNOCT_UPD2_FWA = 118;

		internal const int JZNOCT_UPD4_FWA = 119;

		internal const int JZNOCT_UPD_XSZ_RES = 120;

		internal const int JZNOCT_UPD_OBJ_REF_BITMASK = 131;

		internal const int OPCODE_OFFSET_SIZE_BIT = 32;

		internal const int OPCODE_CHILD_SIZE_BITS = 24;

		internal const int OPCODE_CHILD_NO_SORT_BIT = 4;

		internal const int JZNOCT_OBJECT_TYP = 128;

		internal const int JZNOCT_ARRAY_TYP = 192;

		internal const int JZNOCT_JNULL_C = 48;

		internal const int JZNOCT_JBOOLT_C = 49;

		internal const int JZNOCT_JBOOLF_C = 50;

		internal const int JZNOCT_JSUB1L_C = 51;

		internal const int JZNOCT_JORA_DTYNUM_C = 52;

		internal const int JZNOCT_JORA_DTYNUM_DEC_C = 116;

		internal const int JZNOCT_JDTYSTAMPTZ_C = 124;

		internal const int JZNOCT_JDTYSTAMP7_C = 125;

		internal const int JZNOCT_JDTYGENID_C = 126;

		internal const int JZNOCT_JDTYFLT_C = 127;

		internal const int JZNOCT_JSNUM_C = 53;

		internal const int JZNOCT_JDTYDB_C = 54;

		internal const int JZNOCT_JSUB2L_C = 55;

		internal const int JZNOCT_JSUB4L_C = 56;

		internal const int JZNOCT_JDTYSTAMP_C = 57;

		internal const int JZNOCT_JBINUB2L_C = 58;

		internal const int JZNOCT_JBINUB4L_C = 59;

		internal const int JZNOCT_JDTYDATE_C = 60;

		internal const int JZNOCT_JDTYYM_C = 61;

		internal const int JZNOCT_JDTYDS_C = 62;

		internal const int UB1_MAXSZ = 256;

		internal const int UB2_MAXSZ = 65536;

		internal const int JZNOCT_BIN_SRCH_TRIG_LIMIT = 10;

		internal const int JZNOCT_STR_OK_5BITS = 31;

		internal const int JZNOCT_ORANUM_OK_4BITS = 8;

		internal const int JZNOCT_OBJ_FID_REFERRED = 2;

		internal const int JZNOCT_UPD_UB4_FWA_SZ = 5;

		internal static int MASK_SB4 = 64;

		internal static int MASK_SB8 = 80;

		internal static int MASK_ORANUM_16 = 32;

		internal static int MASK_DEC_16 = 96;

		internal static bool IsSB4(int op)
		{
			return (op & 0xF8) == MASK_SB4;
		}

		internal static bool IsSB8(int op)
		{
			return (op & 0xF0) == MASK_SB8;
		}

		internal static bool IsOraNum16(int op)
		{
			return (op & 0xF0) == MASK_ORANUM_16;
		}

		internal static bool IsDec_16(int op)
		{
			return (op & 0xF0) == MASK_DEC_16;
		}
	}
}
